Benchmark for computing a 1D SSM

Benchmark for computing a 1D SSM

Consider the following example studied in [1]

We take the first mode as master mode and calculate the SSM using graphstyle. The reduced dynamics is already linear and the expansion will be of the following

where [1]

[1] Haller, G., & Ponsioen, S. (2016). Nonlinear normal modes and spectral submanifolds: existence, uniqueness and use in model reduction. Nonlinear dynamics, 86(3), 1493-1534.

clear all;

Build model

In SSMTool, the setup of first-order autonomous systems is given as follows

[A,B,F] = build_model();

Dynamical system setup

order = 1;
DS = DynamicalSystem(order);
set(DS,'A',A,'B',B,'fnl',F);

Linear Modal analysis and SSM computation

[V,D,W] = DS.linear_spectral_analysis();
S = SSM(DS);
set(S.Options,'paramStyle','graph')
masterModes = 1;                        % master mode
order = 8;                              % SSM expansion order
S.choose_E(masterModes);
[W0,R0] = S.compute_whisker(order);     % compute of SSM
 The first 2 nonzero eigenvalues are given as 
   -1.0000
   -4.8990

No (near) outer resonances detected in the (truncated) spectrum
sigma_out = 4
No (near) inner resonances detected in the (truncated) spectrum
sigma_in = 4
Computing autonomous whisker at order 2
0 (near) inner resonance(s) detected at order 2
Manifold computation time at order 2 = 00:00:00
Estimated memory usage at order  2 = 5.96E-03 MB
Computing autonomous whisker at order 3
0 (near) inner resonance(s) detected at order 3
Manifold computation time at order 3 = 00:00:00
Estimated memory usage at order  3 = 8.46E-03 MB
Computing autonomous whisker at order 4
0 (near) inner resonance(s) detected at order 4
Manifold computation time at order 4 = 00:00:00
Estimated memory usage at order  4 = 9.78E-03 MB
Computing autonomous whisker at order 5
0 (near) inner resonance(s) detected at order 5
Manifold computation time at order 5 = 00:00:00
Estimated memory usage at order  5 = 1.11E-02 MB
Computing autonomous whisker at order 6
0 (near) inner resonance(s) detected at order 6
Manifold computation time at order 6 = 00:00:00
Estimated memory usage at order  6 = 1.25E-02 MB
Computing autonomous whisker at order 7
0 (near) inner resonance(s) detected at order 7
Manifold computation time at order 7 = 00:00:00
Estimated memory usage at order  7 = 1.38E-02 MB
Computing autonomous whisker at order 8
0 (near) inner resonance(s) detected at order 8
Manifold computation time at order 8 = 00:00:00
Estimated memory usage at order  8 = 1.52E-02 MB

Next we compare the numerical results with the analytical solutions

Given no (near) inner resonances are detected, the reduced dynamics is linear: .

coeffs = zeros(2,order);
for k=1:order
    if ~isempty(W0(k).coeffs); coeffs(:,k) = full(W0(k).coeffs); end
end
disp('Expansion coefficients of the SSM at various orders (ith column gives the coeffcients at order i)')
coeffs
Expansion coefficients of the SSM at various orders (ith column gives the coeffcients at order i)

coeffs =

  Columns 1 through 7

    1.0000         0         0         0         0         0         0
         0    0.3449    0.5266    1.1124   -9.8990         0         0

  Column 8

         0
         0

Indeed, the computation generates a unique SSM. The coefficients are consistent with the analytical solutions as well, as demonstrated below

coeffs(2,2:5)'-[1/(sqrt(24)-2);1/(sqrt(24)-3);1/(sqrt(24)-4);1/(sqrt(24)-5)]
ans =

     0
     0
     0
     0